Unless otherwise indicated herein, the approaches described in this section are not admitted to be prior art by inclusion in this section.
Virtualization allows the abstraction and pooling of hardware resources to support virtual machines in a Software-Defined Networking (SDN) environment, such as a Software-Defined Data Center (SDDC). For example, through server virtualization, virtual machines (e.g., also referred to as “nodes”) running different operating systems may be supported by the same physical machine (e.g., referred to as a “host”). Each virtual machine is generally provisioned with virtual resources to run an operating system and applications. The virtual resources may include virtual central processing unit (CPU), virtual disk(s), etc.
Small Computer System Interface (SCSI) refers a set of American National Standards Institute (ANSI) standard electronic interfaces that allow personal computers to communicate with peripheral hardware, such as disk drivers, printers, scanners, etc. There are several versions of SCSI, such as SCSI-2, SCSI-3, etc. Compared to SCSI-2 Reservations, SCSI-3 Reservations provide more advanced features. For example, SCSI-2 Reservations were designed for one and only one initiator, and reservations are not persistent after a host reboot or SCSI bus reset. SCSI-3 Persistent Group Reservation (PGR) features facilitate disk reservation that is persistent across failures and allow access by multiple initiators. SCSI-3 PGR commands are cooperative in that reservations and their management may be shared by a group of cooperating nodes. However, conventional persistent reservation approaches may not be applicable in a shared virtual storage environment in which shared access to virtual disks is required.